#pragma once

#include "dmObject.h"

#define DM_MAJOR_VERSION 2012
#define DM_MINOR_VERSION 1
#define DM_BUILD_VERSION 1
#define DM_VERSION "2011.2.1"

#define DM_SOURCE_VERSION "dm version " DM_VERSION ", Date: " "2011-02-1"

#define DM_CXX_COMPILER "C:/Program Files/Microsoft Visual Studio 9.0/VC/bin/cl.exe"

class DMDB_BASE_API dmVersion : public dmObject
{
public:
  static dmVersion *New();
  dmTypeMacro(dmVersion,dmObject);

  static const char *GetDMVersion() { return DM_VERSION; }
  static int GetDMMajorVersion() { return DM_MAJOR_VERSION; }
  static int GetDMMinorVersion() { return DM_MINOR_VERSION; }
  static int GetDMBuildVersion() { return DM_BUILD_VERSION; }
  static const char *GetDMSourceVersion() { return DM_SOURCE_VERSION; }
  
protected:
  dmVersion() {}; //insure constructor/destructor protected
  ~dmVersion() {};
private:
  dmVersion(const dmVersion&);  // Not implemented.
  void operator=(const dmVersion&);  // Not implemented.
};


